Длительные операции на клиенте

#std755

Область применения: управляемое приложение.

Следует избегать длительного выполнения клиентского кода, помимо длительных вызовов серверного кода из клиентского (см. «Длительные операции на сервере»), т.к. это приводит к ощутимым задержкам при работе с программой или даже к зависанию. Не следует выполнять потенциально длительные операции (такие как: обращение к сетевым ресурсам, «тяжелые» алгоритмы обработки данных на клиенте) в обработчиках ожидания и обработчиках событий элементов форм.

Длительные клиентские операции допустимо выполнять, только когда пользователь инициирует их явным образом (например, нажатием на кнопку).

Пример 1

Неправильно:

В обработчике ожидания обращаться к веб сервису для получения информации об обновлениях.

Правильно:

Получать информацию об обновлениях только при нажатии на кнопку, либо перенести получение информации об обновлениях на сервер:

Пример 2

Неправильно:

Проверять доступность сетевого ресурса в обработчике события ПриИзменении поля формы, в котором вводится путь к этому сетевому ресурсу.

Правильно:

Проверять доступность сетевого ресурса в обработчике команды, которая выведена в интерфейс, например, в виде кнопки Проверить.